package com.neusoft.ch6.hw.test04;

import java.util.Scanner;

public class ClassMaster {
	// 属性
	// 一群学生
	private Student[] stus;

	public Student[] getStus() {
		return stus;
	}

	public void setStus(Student[] stus) {
		this.stus = stus;
	}

	/**
	 * 录入学生成绩信息
	 */
	public void inputStudentInfo() {
		// 请输入学生人数
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入本次录入成绩的学生人数：");
		int stuNum = sc.nextInt();
		// 创建学生数组
		stus = new Student[stuNum];
		// 循环录入学生信息
		for (int i = 0; i < stuNum; i++) {
			System.out.println("请录入第个学生的姓名：");
			String stuName = sc.next();
			System.out.println("请录入第个学生的学号：");
			String stuNo = sc.next();
			System.out.println("请录入第个学生的成绩：");
			int stuScore = sc.nextInt();
			// 用录入的学生信息,创建一个新的学生对象
			Student stu = new Student(stuName, stuNo, stuScore);
			// 将该学生放入学生数组中
			stus[i] = stu;
		}
	}

	// 行为--成绩排序
	/**
	 * 对班级中的学生进行排序
	 */
	public void sortScore() {
		if (stus != null && stus.length > 0) {
			// 冒泡排序算法
			// 外层for循环
			for (int i = 0; i < stus.length; i++) {
				// 内层for循环
				for (int j = 0; j < stus.length - 1 - i; j++) {
					// 比较相邻的两个元素，进行交换
					if (stus[j].getStuScore() < stus[j + 1].getStuScore()) {
						// 交换
						Student temp = stus[j];
						stus[j] = stus[j + 1];
						stus[j + 1] = temp;
					}
				}
			}
		}
	}

	/**
	 * 打印输出所有的学生信息
	 */
	public void printAllStudentInfo() {
		if (stus != null && stus.length > 0) {
			System.out.println("本次考试学生成绩从高到低的排序结果：");
			// 打印学生信息
			for (int i = 0; i < stus.length; i++) {
				// 打印每个学生的姓名、学号、成绩信息
				stus[i].printStudentInfo();
			}
		}
	}
}
